﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace 接口
{
    public interface Iname    //定义Iname接口
    {
        string Name { set; get; }
    }
    public interface Ising    //定义Ising接口
    {
        void sing();
    }
    public interface Idance    //定义Idance接口
    {
        void dance();
    }
    class Text:Iname,Ising,Idance    //定义Text类继承3个接口
    {
        string name;
        public string Name
        {
            get
            {
                return name;
            }
            set
            {
                name=value;
            }

        }
        public virtual void sing()     //虚方法写sing（)方法
        {
            Console.WriteLine("我会唱歌");
        }
        public virtual void dance()  //虚方法写dance（）方法
        {
            Console.WriteLine("我会跳舞");
        }
    }
    class Text1:Text      //定义Text1类继承Text类
    {
        public override void sing()   //重写sing（）方法
        {
            Console.WriteLine("我不会唱歌");
        }
        public override void dance()    //重写dance（）方法
        {
            Console.WriteLine("我不会跳舞");

        }

    }
    class Program
    {
        static void Main(string[] args)
        {
            Text t = new Text();
            t.Name = "小张";
            Console.WriteLine("我的名字是{0}", t.Name);
            t.sing();
            t.dance();
            Text1 t1 = new Text1();
            t1.Name = "小明";
            Console.WriteLine("我的名字是" + t1.Name);
            t1.sing();
            t1.dance();
        }
    }
}
